package com.ruoyi.pay.config;

import lombok.Data;
import org.hibernate.validator.constraints.URL;
import org.springframework.validation.annotation.Validated;

import javax.validation.constraints.NotEmpty;

@Validated
@Data
public class WxPayProperties {
    /**
     * 支付回调地址
     */
    @NotEmpty(message = "支付回调地址不能为空")
    @URL(message = "支付回调地址的格式必须是 URL")
    private String wxPayNotifyUrl;
    /**
     * 退款回调地址
     */
    @NotEmpty(message = "退款回调地址不能为空")
    @URL(message = "退款回调地址的格式必须是 URL")
    private String refundNotifyUrl;


    /**
     * 支付完成的返回地址
     */
    @URL(message = "支付返回的地址的格式必须是 URL")
    @NotEmpty(message = "支付返回的地址不能为空")
    private String payReturnUrl;

    /**
     * 应用appId,可以是小程序的appId 或者APP的appId
     */
    private String wxAppId;

    /**
     * 小程序秘钥
     */
    private String appSecret;

    /**
     * 微信支付的商户号
     */
    @NotEmpty(message = "商户号不能为空")
    private String wxMchId;

    /**
     * 微信支付证书路径 如/home/env/wxpay/apiclient_cert.p12
     */
    private String wxCert12Path;

    /**
     * 微信支付证书私钥pem 如：/home/env/wxpay/apiclient_key.pem
     */
    private String wxKeyPath;

    /**
     * 微信支付证书证书pem 如：/home/env/wxpay/apiclient_cert.pem
     */
    private String wxCertPath;

    /**
     * apiV2秘钥
     */
    private String wxV2Key;

    /**
     * apiV3秘钥
     */
    private String wxV3Key;

    /**
     * 域名
     */
    private String domain;

    /**
     * 服务商应用编号
     */
    private String slAppId;
    /**
     * 服务商商户号
     */
    private String slMchId;
}
